home *** CD-ROM | disk | FTP | other *** search
/ Aminet 38 / Aminet 38 (2000)(Schatztruhe)[!][Aug 2000].iso / Aminet / gfx / pbm / netpbmwos.lha / netpbm / HISTORY < prev    next >
Text File  |  2000-06-05  |  27KB  |  717 lines

  1. Netpbm was developed, in 1993, to replace the former standard graphics
  2. conversion package Pbmplus, which was no longer being maintained and
  3. enhanced.  It was derived directly from Pbmplus, which was written by
  4. Jef Poskanzer, jef@acme.com.
  5.  
  6. Then Netpbm apparently fell into neglect with the last release by its
  7. regular maintainer in March 1994.  In September of 1995 Anthony
  8. Thyssen released an unofficial update of it called Netpbm-1mar1994.p1,
  9. while disclaiming any responsibity for ongoing upkeep.
  10.  
  11. The documentation in that 1995 release mentioned two different official
  12. mailing lists concerning the package, but by April 1999, neither
  13. existed anymore.
  14.  
  15. In September 1999, Bryan Henderson needed some minor bugs fixed, and
  16. wanted to clean up the mess of unsupported versions and outdated
  17. documentation of these tools.  After checking around to see if anyone
  18. had any claims of ownership of the package, and finding none, Bryan
  19. assumed control and responsibility for Netpbm.  
  20.  
  21. In November 1999, Thorbjoern Ravn Anderson <ravn@mip.sdu.dk> did the
  22. same thing, for the same reason (apparently unaware of Bryan's work)
  23. and made available an updated version (based on the 1994 release) as
  24. described by http://sunsite.auc.dk/netpbm.  Shortly thereafter, he
  25. discontinued his effort in deference to the new Pbmplus effort
  26. mentioned below.  Bryan did not know about Anderson's work until March
  27. 2000.
  28.  
  29. In parallel, and unknown to Bryan, Jef was working on a new release
  30. under the original name Pbmplus and claiming again (or maybe still) to
  31. be maintaining Pbmplus.  He did a limited release of a beta version of
  32. it in November 1999.  A mailing list pbmplus@acme.com was active.
  33. Bryan learned of this effort's existence in March 2000.
  34.  
  35. Pbmplus and Netpbm were originally part of the body of X/Windows
  36. contributed software, distributed on ftp.x.org (directory
  37. contrib/utilities).  Bryan didn't receive a response to a request to
  38. an inquiry to the ftp.x.org owner (at the address given on the site)
  39. as to the prospect of cleaning up the Netpbm related files there.  So
  40. Bryan instead made Metalab the new home of the source code.  But
  41. Metalab had pretty low quality too, and in April 2000 Bryan moved the
  42. package's home to Sourceforge.
  43.  
  44.  
  45.  
  46.  
  47. CHANGE HISTORY BEGINNING WITH BRYAN'S RELEASE 8
  48. -----------------------------------------------
  49.  
  50. 00.06.04 BJH  Release 9.4
  51.  
  52.               Rebase pnmtopng, pngtopnm on Pnmtopng 2.37.4.
  53.  
  54.               pbmtolj: fix bug where blank lines get discarded.  Thanks
  55.               Charles Howes.
  56.  
  57.               ppmtompeg: fix bug with "PNM" format files with maxval != 255.
  58.               Get rid of built-in PPM file parsing.
  59.  
  60.               Fix 'make install' where mkinstalldirs is not found.
  61.  
  62.               Fix bug where rle_global.c would not compile with GNU C 
  63.               Library 2.
  64.  
  65. 00.06.01 BJH  Release 9.3
  66.  
  67.               pnmfile: check for file size error.
  68.  
  69.               ppmhist: handle larger maxvals, image sizes
  70.  
  71.               xwdtopnm: Use color map with DirectColor to fix wrong color
  72.               bug on some DirectColor xwds.
  73.  
  74.               xwdtopnm: Correct bug with 24/32 DirectColor LSBfirst xwds.
  75.  
  76.               Add pXmcheck() library function.
  77.  
  78.               Add leaftoppm and ppmtoleaf.  Thanks Bill O'Donnell.
  79.  
  80.               Add winicontoppm and ppmtowinicon.  Thanks Lee Benfield.
  81.  
  82.               Add pgmslice.  Thanks to Jos Dingjan.
  83.               
  84.               Include subset of RLE library in the package.
  85.  
  86.               stamp-date doesn't rely on whoami.
  87.  
  88.               Make file fixes to accomodate more install programs.
  89.          
  90.               Replace tmpnam() with mkstemp().
  91.  
  92.               Add pXm_init() into all programs that didn't have it.
  93.  
  94. 00.05.15 BJH  Release 9.2
  95.  
  96.               Shared libraries now build properly for Solaris, SunOS, NetBSD.
  97.  
  98.               Add jbigtopnm, pnmtojbig.  Thanks to Markus Kuhn.
  99.  
  100.               Add pnminterp, pnminterp-gen by Russell Marks.
  101.  
  102.               Add pbm_writepbmrow_packed() and pbm_readpbmrow_packed() to
  103.               libpbm.
  104.  
  105.               ppmdither: fix bug with input maxval != 255.  Make output
  106.               maxval the LCM of the requested numbers of primary levels.
  107.  
  108.               xwdtopnm: works with files where there aren't an integeral
  109.               number of pixels per storage unit (e.g. 24 bits per pixel)
  110.               
  111.               Add some missing pXm_init()
  112.  
  113.               Make pXmmerge source code automatically generated.
  114.  
  115. 00.05.06 BJH  Release 9.1
  116.  
  117.               Add pbmtoppa (renamed from pbm2ppa, renamed from print-pbm).
  118.               Thanks Tim Norman.
  119.  
  120.               Add pbmpage.  Thanks Tim Norman.
  121.  
  122.               Add pbmtomda, mdatopbm.  Thanks John Elliott.
  123.  
  124.               Replace gemtopbm with gemtopnm.  Thanks to John Elliott.
  125.  
  126.               Add ppmntsc: change colors to those acceptable for ntsc or pal.
  127.  
  128.               Rename old ppmntsc to ppmtv.
  129.  
  130.               pbmtolj: Add compression (-delta, -packbits, -compress) by
  131.               Dave Platt
  132.  
  133.               Look for both /usr/lib/X11/rgb.txt and /usr/openwin/lib/rgb.txt
  134.               by default.  Improved error messages if file not found.
  135.  
  136.               pbmtext: renders character codes 0x80-0xff and 0x00-0x1f as
  137.               whatever the font says, rather than always blank.  Thanks
  138.               Helge Oldach.
  139.  
  140.               Fix bug in parsing of rgb.txt file in ppm_colorname().
  141.  
  142.               Add optional static library build to make files.
  143.  
  144.               Fix a bunch of build bugs for Solaris, SunOS.  Still not all 
  145.               the way there.  Thanks Richard Curnow, Philippe Brieu, 
  146.               Benjamin Kuit.
  147.  
  148.               Make it build on Cygwin.  Thanks Pierre Humblet.
  149.  
  150.               Use rm -f;ls instead of ls -sf in make files; some systems don't
  151.               have ln -f.
  152.               
  153. 00.04.15 BJH  Release 9.0
  154.  
  155.               Add the 16-bit-per-sample format for maxval > 255.
  156.               Change size of samples in the library interface from 8
  157.               bits to 32 bits.  Library write routines now create the
  158.               new 16 bit format instead of plain format when you
  159.               request a maxval > 255 and not 'forceplain'.  Make all
  160.               programs read the new format, and all programs that
  161.               convert to PNM from a >8 bit input generate it instead
  162.               of failing or normalizing.  Make pnmdepth generate it.
  163.  
  164.               pnm_readpnminit(), etc. fails if you request a maxval >
  165.               65535 and not 'forceplain'.  It used to generate plain
  166.               format in that case, but you couldn't actually specify    
  167.               a sample value > 255.
  168.  
  169.               Add pnmtorle and rletopnm from the Army High Performance 
  170.               Computing Research Center.
  171.  
  172.               add ppmcolormask - creates a mask of areas of a certain 
  173.               color in an image.
  174.  
  175.               anytopnm: fix infinite loop
  176.               
  177.               pbmtext:  Ignore non-8-bit characters in bdf files instead
  178.               of crashing.
  179.  
  180.               ppmdither: fix crash with large dithering matrix dimensions.
  181.  
  182.               Rename ppmtompeg/headers/search.h to motion_search.h to avoid
  183.               possible confusion with the OSF system file search.h
  184.          
  185.               Fix erroneous shhopt.h dependency in build.
  186.               
  187. 00.04.03 BJH  Release 8.4
  188.  
  189.               Add ppmtompeg, adapted from Berkeley's mpeg_encode.
  190.          
  191.               Add eyuvtoppm and ppmtoeyuv, and vidtoppm, from Berkeley
  192.               mpeg tools.
  193.  
  194.               Add ppmfade, adapted from Wesley C. Barris' pbmfade. 
  195.  
  196.               Add ability to extract the alpha channel to tifftopnm,
  197.               tgatoppm, and ximtoppm.  (It's already in pngtoppm,
  198.               and still missing from ilbmtoppm).
  199.  
  200.               pnmtotiff: Change default compression to none, due to
  201.               removal of LZW capability from Tiff library.
  202.  
  203.               Make merge build use symbolic links instead of hard links.
  204.  
  205.               Include dependent libraries in the link of the
  206.               libraries.  This is necessary on some systems, and a
  207.               good idea on others.
  208.  
  209.               Use strerror() instead of sys_errlist[] everywhere.  If
  210.               some systems do not have the former, we need to do some
  211.               work, because strerror() was already used in some
  212.               places.  We do have a report of a BeOS system with no
  213.               sys_errlist[].
  214.  
  215. 00.03.24 BJH  Release 8.3
  216.  
  217.               Add pnmshadow, by John Walker <http://www.fourmilab.ch/>,
  218.               dated 1997.08.15.
  219.  
  220.               Add ppmlabel, by John Walker, dated June 1995.
  221.  
  222.               Add ppmcie by John Walker, dated September 1994.
  223.  
  224.               Add character drawing routines by John Walker to libppm.
  225.  
  226.               Add sbigtopgm by John Walker, dated January 1998.
  227.  
  228.               handle BMP file color map size parameter in ppmtobmp, bmptoppm.
  229.               Thanks Marc Moorcroft.
  230.  
  231.               Rewrite make files, fix lots of make install bugs.
  232.  
  233. 00.03.20 BJH  Release 8.2
  234.  
  235.               Add ppmtojpeg and jpegtopnm.
  236.  
  237.               Rename pnmnoraw to pnmtoplainpnm.
  238.  
  239.               Add CMYK capability to tifftopnm.
  240.  
  241.               Major make file rewrite, especially making install work.
  242.               Pnmmerge is no longer the default.  Shared libraries are.
  243.  
  244.               Add pnmtotiffcmyk.  Written by Andrew Cooke  (Jara Software)
  245.               jara@andrewcooke.free-online.co.uk
  246.  
  247. 00.03.02 BJH  Release 8.1
  248.  
  249. 00.03.02 BJH  Add pnmtopng and pngtopnm.  I got these from 
  250.               ftp://ftp.au.netbsd.org/pub/NetBSD/packages/distfiles
  251.               today.  Release 2.37.3.  I added an "unsigned" and
  252.               changed the type of 'scaleval' to quiet compiler warnings.
  253.  
  254. 00.03.01 BJH  Fix xwdtopnm interpretation of 16 bit TrueColor files.
  255.               Thanks to Martin Kroeker, mk@daveg.com.
  256.  
  257. 99.09.23 BJH  Update xbmtopbm to recognize newer xbm format.
  258.  
  259.  
  260.  
  261.  
  262. CHANGES TO NETPBM THROUGH MARCH 1994
  263. ------------------------------------
  264.  
  265. Functional changes to Netpbm since 13 October 1993.
  266. Minor bug fixes and compatibility fixes are not documented in this file.
  267.  
  268. PBM
  269.  
  270. libpbm1.c    strstr() added to libpbm1.c.
  271. libpbm5.c    BDF font support added.
  272. pbmtext        BDF font support added.
  273. pbmto4425    New filter.
  274. pbmtoln03    Command line parsing changed to Pbmplus standard.
  275.  
  276.  
  277. PGM
  278.  
  279. pgmnoise    New filter.
  280.  
  281.  
  282. PPM
  283.  
  284. picttoppm    Updated
  285. ppm3d        New facility.
  286. ppmchange    New filter.
  287. ppmdim        New filter.
  288. ppmflash    New filter.
  289. ppmmix        New filter.
  290. ppmntsc        New filter.
  291. ppmqvga        Option parsing changed to Pbmplus standard.
  292. ppmshift    New filter.
  293. ppmspread    New filter.
  294. ppmtoxpm    Prototypes added.
  295. xpmtoppm    Prototypes added.
  296. ilbmtoppm    Updated.
  297. ppmtoilbm    Updated.
  298.  
  299.  
  300. PNM
  301.  
  302. pnmtoddif    New filter.
  303. pnmhistmap    New facility.
  304. pnmtops        New option (-nocenter) added.
  305.  
  306.  
  307. Functional changes to Netpbm since 7 December 1993.
  308. Minor bug fixes and compatibility fixes are not documented in this file.
  309.  
  310. PGM
  311.  
  312. asciitopgm    New filter.
  313. fitstopgm    Replaced by fitstopnm.
  314. pgmtofits    Replaced by pnmtofits.
  315. pgmtopbm    Upgraded.
  316. pgmkernel    New filter.
  317.  
  318. PPM
  319.  
  320. ppmchange    Upgraded.
  321. xvminitoppm    New filter.
  322.  
  323. PNM
  324.  
  325. pnmalias    New filter.
  326. pnmtofits    Replacement for pgmtofits.
  327. fitstopnm    Replacement for fitstopgm.
  328. pnmtosgi    New filter.
  329. sgitopnm    New filter.
  330. pstopnm        New filter.
  331.  
  332.  
  333.  
  334. CHANGES BETWEEN PBMPLUS AND THE ORIGINAL NETPBM
  335. -----------------------------------------------
  336.  
  337. The following is new in Netpbm (compared to Pbmplus):
  338.  
  339. PBM
  340.  
  341. pbmtext        BDF font support added.
  342.  
  343. pbmto4425    Display on an AT&T 4425 Ascii terminal.
  344.  
  345. pbmtoascii    A new improved version.
  346.  
  347. pbmtoln03    Convert to DEC LN03+.
  348.  
  349. pbmtolps    Fast PostScript creator.
  350.  
  351. pbmtopk        Conversion to/from a packed (PK) format font.
  352. pktopbm
  353.  
  354. pbmclean    Flip isolated pixels.
  355.  
  356. pbmpscale    Enlarge pbm image with edge smoothing.
  357.  
  358.  
  359. PGM
  360.  
  361. asciitopgm    Convert an ascii image into pgm.
  362.  
  363. pbmtopgm    Convert pbm to pgm by averaging areas.
  364.  
  365. rawtopgm    Handles input files without specification of the file size,
  366.         assuming the input image is quadratic. It also supports a
  367.         -tb (top bottom flip) option.
  368.  
  369. bioradtopgm    Conversion utility for files created by Biorad confocal
  370.         microscopes.
  371.  
  372. spottopgm    Convert SPOT satellite images to pgm.
  373.  
  374. pgmkernel    Generate a convolution kernel.
  375.  
  376. pgmnoise    Create a pgm file with random pixels.
  377.  
  378.  
  379. PPM
  380.  
  381. bmptoppm    Conversion to/from windows bitmap format.
  382. ppmtobmp
  383.  
  384. ppmtogif    Updated version.
  385. giftoppm    Removed (see giftopnm).
  386.  
  387. ppmtoilbm    Updated version.
  388. ilbmtoppm
  389.  
  390. picttoppm    Updated version.
  391. ppmtopict
  392.  
  393. ppmtoxpm    Updated version, which supports xpm version 3.
  394. xpmtoppm
  395.  
  396. ppmtomap    Extract all colours from a ppm file.
  397.  
  398. ppmtomitsu    Convert to Mitsubishi S340-10 printer format.
  399.  
  400. xvminitoppm    Convert an XV thumbnail picture to ppm.
  401.  
  402. ppmtoyuvsplit    Conversion to/from YUV triplets. (MPEG / JPEG).
  403. yuvsplittoppm
  404.  
  405. ppm3d        Create a red/blue stereo image.
  406.  
  407. ppmbrighten    Change image saturation and value on an HSV map.
  408.  
  409. ppmchange    Change all pixels of one colour to another in a portable pixmap
  410.  
  411. ppmdim        Dim a ppm file down to total blackness.
  412.  
  413. ppmdist        Simplistic grayscale assignment for machine generated
  414.         colour images.
  415.  
  416. ppmflash    Brighten a picture up to complete white-out
  417.  
  418. ppmmix        Blend together two portable pixmaps.
  419.  
  420. ppmnorm        Normalize the contrast in a portable pixmap.
  421.  
  422. ppmntsc        Make a portable pixmap look like taken from an American TV.
  423.  
  424. ppmqvga        Eight plane quantization.
  425.  
  426. ppmshift    Shift lines of a portable pixmap left or right by a random amount.
  427.  
  428. ppmspread    Displace a portable pixmap's pixels by a random amount.
  429.  
  430. ppmtopjxl    Convert a ppm file into an HP PaintJet XL PCL file.
  431.  
  432.  
  433. PNM
  434.  
  435. pnmtops        New option (-nocenter) added.
  436.  
  437. pnmtofits    Replacement for pgmtofits/fitstopgm
  438. fitstopnm
  439.  
  440. pnmtosgi    Conversion to/from sgi image format.
  441. sgitopnm
  442.  
  443. pnmtosir    Conversion to/from Solitaire image recorder format.
  444. sirtopnm
  445.  
  446. giftopnm    Replaces giftoppm. Examines the input image and produces
  447.         a pbm, pgm, or ppm output.
  448.  
  449. pstopnm        Convert PostScript to pnm. Requires Ghostscript.
  450.  
  451. zeisstopnm    Conversion utility for files created by Zeiss confocal
  452.         microscopes (the old standard).
  453.  
  454. pnmalias    Anti aliasing filter.
  455.  
  456. pnmcomp        Composite two portable anymaps together.
  457.  
  458. pnmcrop        New options added.
  459.  
  460. pnmpad        Add borders to anymap.
  461.  
  462.  
  463. LIBTIFF
  464.  
  465. A new release of libtiff is included. Please read its supporting
  466. documentation.
  467.  
  468.  
  469. CHANGE LOG FROM PBMPLUS
  470. -----------------------
  471.  
  472. Changes since the 30oct91 patch version:
  473.  
  474.     Fixed uninitialized variable in ppmtotga.  (John Walker)
  475.     Added pgmcrater, ppmforge, ppmtoacad, sldtoppm.  (John Walker)
  476.     Slight change to the p?mmerge.c front-ends to allow for main programs
  477.       that return instead of exitting.
  478.     Minor clarifications to the pnmconvol man page.
  479.     Fixed xwdtopnm to read some 16-bit True/Direct files. (David Elliott)
  480.     Fixed uninitialized variables in pnmtotiff.  (Larry Rosenstein, Bayles Holt)
  481.     Added a couple of checks for \r while reading whitespace. (Larry Rosenstein)
  482.     Removed all the BROKENPUTC stuff.  Now we ignore all return values from
  483.       putc(), and check ferror() in pm_close().  Added pm_close() calls to
  484.       many of the filters.
  485.     Fixed pnmdepth to check for too-large newmaxvals.  Improved rounding
  486.       in pnmdepth and PPM_DEPTH macro.  (Tom Lane)
  487.     Minor fix to ppmtouil.  (Mohsen Banan)
  488.     Added new Imakefiles.  (Rainer Klute)
  489.  
  490. Changes since the 05oct91 X11R5 contrib tape version:
  491.  
  492.     Fixed minor SysV config error in pbmplus.h.  (Tom Lane)
  493.     Fixed tifftopnm so that BITSPERSAMPLE and SAMPLESPERPIXEL default
  494.       correctly.  Fixed possible bug in tgatoppm line-interleaving code.
  495.       (Arthur David Olson)
  496.     Fixed tifftopnm so that colormapped files are read correctly.
  497.       (PauL Drews, Mike Wade)
  498.     Corrected use of DefaultRGBDatabase / RGB_DB for imake sites.
  499.       (Randal L. Schwartz)
  500.     Bugfix to pnmtops color PostScript in -rle mode.  (Angus Duggan)
  501.     Added auto-turning to pnmtops.
  502.     Added run-length encoding to ppmtotga.
  503.     Space optimization to pgmoil.
  504.  
  505. Changes since the 27sep91 comp.sources.misc distribution:
  506.  
  507.     Fixed spelling error in giftoppm.  Fixed ppmrelief to not shrink the
  508.       image by 2 rows and columns.  Minor fix to pgmramp.  Fixed off-by-one
  509.       error in pnmtoxwd.  Man page fix for pnmgamma.  (Arthur David Olson)
  510.     Converted ANSI trigraphs in ppmtosixel into good old octal.  (Jeff Glover)
  511.     Fix to 24/32 bit case in rasttopnm.  (Behr de Ruiter)
  512.     Float/double portability fix to libppm4.  (Bruce Holmer, Ronald Khoo)
  513.     Fixed typo in compat.ksh.  (Larry Virden)
  514.     Fixed int/short incompatibility in tifftopnm.  (Salik Rafiq)
  515.  
  516. Changes during the extended beta test period, starting on 15jan91:
  517.  
  518.     Lots of fixes from: Anthony A. Datri, Arthur David Olson, David Brooks,
  519.       David Elliott, Doug Claar, Duncan Sinclair, Francois Pinard, Gerard
  520.       Leurs, Jim Hanko, Ken Laprade, Klaus U. Schallhorn, Markus Bolz, Mike
  521.       Hench, Philip Gladstone, R C Smith, Selden E. Ball, Jr., Stephen Uitti,
  522.       Steve Allen, Tom Lane, update.kpj-jaakkola@athena.dsv.su.se,
  523.       Charles Karney, Unmesh Agarwala, Ed Pendzik, Juha Sarlin, Tom Tulinsky,
  524.       Phillip Smith, Lai-King Mau, David Koblas, Mark Donovan.
  525.     Added a global -version flag.
  526.     Added bunches of statics and prototypes.  Now compiles with zero
  527.       warnings under gcc -ansi -pedantic.
  528.     Changed #ifdef __STDC__ to #if __STDC__, since some non-compliant
  529.       compilers define it as 0.
  530.     Changed pm_message and pm_error to be varargs routines.  Added a
  531.       portable version of vfprintf for those systems which don't have it.
  532.     Removed the option of not compiling the pgm and ppm parts.  Very few
  533.       people used it, and it added amazing complexity to the pnm programs,
  534.       turning them into maintenance nightmares.
  535.     Merged pbmpaste into pnmpaste.
  536.     Merged pgmtops and ppmtops into pnmtops.
  537.     Added auto-scaling and dpi / page size flags to pnmtops.
  538.     Changed the interpretation of bits in pbmlife to conform with other
  539.       tools.
  540.     Changed xwdtopnm to ignore the pixel number in the xwd color structure.
  541.     Added a -pseudodepth flag to pnmtoxwd.
  542.     Updated tifftopnm for libtiff 2.4.
  543.     Added many option flags to pnmtotiff.  (J.T. Conklin)
  544.     Added support for X11R5's new color specifiers rgb: and rgbi:.
  545.     Added pgmtexture.  (James Darrell McCauley)
  546.     Added ppmtopj, pjtoppm, and ppmdither.  (Christos Zoulas)
  547.     Added ppmtotga.  (Mark Shand)
  548.     Added ppmtosixel.  (Rick Vinci)
  549.     Added pbmtoatk and atktopbm.  (Bill Janssen)
  550.     Added ppmtoyuv and yuvtoppm.  (Marc Boucher)
  551.     Fixes to picttoppm.  (George Phillips)
  552.     Added 24-bit support to ilbmtoppm.  (Mark Thompson)
  553.  
  554. Changes since the X.V11R4 / comp.sources.misc distribution of 22nov89:
  555.  
  556.     Added pgmramp, pgmedge, pgmtoppm, rgb3toppm, ppmtoxpm, pnmgamma,
  557.       ximtoppm, pgmtofs, picttoppm, ppmtopict, ppmquantall, anytopnm,
  558.       pi1toppm, ppmtopi1, sputoppm, spctoppm, pbmto10x, ppmtoicr, ppmmake,
  559.       xpmtoppm, ppmtopuzz, ppmtouil, ybmtopbm, pbmtoybm, lispmtopgm,
  560.       pgmtolispm, pbmtogem, pi3topbm, pbmtopi3, pbmtoepson, pbmtoplot,
  561.       pbmtozinc, pbmtext, pnmnoraw, pnmmargin, pnmfile, pnmindex,
  562.       ppmtorgb3, gouldtoppm, pgmbentley, pgmoil, ppmrelief, pnmtotiff,
  563.       ppmtopcx.
  564.     Merged some filters:
  565.       rasttopbm and rasttoppm into rasttopnm;
  566.       pbmtorast and ppmtorast into pnmtorast;
  567.       xwdtopbm and xwdtoppm into xwdtopnm;
  568.       pbmtoxwd and ppmtoxwd into pnmtoxwd.
  569.     Promoted some filters:
  570.       pcxtopbm to pcxtoppm;
  571.       ppmarith to pnmarith;
  572.       ppmconvol to pnmconvol;
  573.       ppmcscale to pnmdepth;
  574.       ppmrotate to pnmrotate;
  575.       ppmscale to pnmscale;
  576.       ppmshear to pnmshear;
  577.       ppmsmooth to pnmsmooth;
  578.       tifftopgm to tifftopnm - new version based on Sam Leffler's libtiff.
  579.     Bugfixes to pbmtoicon, ppmtops.
  580.     The Makefiles now have a "merge" option.
  581.     All flags are now case-insensitive.
  582.     Added $(MAKE) stuff to Makefile.
  583.     Changed pnmsmooth from a csh script to a sh script.
  584.     Made macro use in pbmtox10bm and pbmtoxbm more portable.
  585.     Moved compataliases to compat.csh, and added compat.ksh.
  586.     Made ppmtoilbm less Amiga-specific.
  587.     Added -headerskip and -rowskip flags to rawtopgm.
  588.     Enhanced rasttopnm to interpret 8-bit rasters with no colormap as grayscale.
  589.     Changed sscanf %g to %f - some systems can't handle %g on input.
  590.     Added -expand flag to pbmmask.
  591.     Speedup to pnmflip - don't buffer if possible.
  592.     Added color-name-to-value routine to ppm - uses X11's rgb.txt if present.
  593.     Updated Imakefile support to reflect X.V11R4.
  594.     Removed picttopbm.
  595.     Improved pnmcut argument syntax so that negative coords work like pnmpaste.
  596.     Added "magic" file, for use with the "file" program.
  597.     40% speedup for pgmnorm from Robert Stockton (rgs@cs.cmu.edu).
  598.     Fixed long-standing bug involving colormaps on SPARCstations when
  599.       compiled with gcc -- had to do with passing structs by value.
  600.     Removed the -x flag from pnmtorast -- it's not really needed.
  601.     Fixed subtle bug in the pnm reading code that caused pnmcat to blow
  602.       it on images that differed greatly in width or height.
  603.     New version of giftoppm that handles the GIF89a standard, and doesn't
  604.       use fseek.
  605.     Fixed fitstopgm to handle three-axis images, such as the Hubble pix.
  606.     Xwdtopnm and pnmtoxwd finally handle byte-order properly.
  607.     Added -xysize flag to pnmscale.
  608.     Added conditional ANSI function prototypes to library routines.
  609.     Added -noantialias flag to pnmrotate and pnmshear.
  610.     Removed the TIPS file.  No one ever sent in any new tips, so I just
  611.       moved the few I had into the relevant man pages.  That's probably
  612.       where they belonged in the first place.
  613.     Added justification flags to pnmcat.
  614.     Added -map flag to ppmquant - user-specifiable colormap.  Also, the
  615.       Floyd-Steinberg error diffusion finally works right.
  616.     Added -map flag to pgmtoppm.
  617.     Added DirectColor support to xwdtopnm and pnmtoxwd.
  618.     Speedup to pgmtolj from Arthur David Olson: avoid sending whitespace.
  619.     Fix to pbmtogo from Bo Thide': 2D compression now works.
  620.  
  621. Patch 1 to the X.V11R4 / comp.sources.misc distribution of 22nov89:
  622.  
  623.     Fixed bug in pgmtops -rle.
  624.  
  625. Changes since the alt.sources distribution of 13sep89:
  626.  
  627.     Small corrections to ppmtorast, pgmtops.
  628.     Moved pbm/tifftopbm to pgm/tifftopgm - it now handles grayscale TIFF files.
  629.     Fixed tifftopgm to handle non-native byte order.
  630.     Changes to tifftopgm to handle bogus AppleScan TIFF files, to have
  631.       better command syntax, and to use stdio.
  632.     Optimizations to xbmtopbm, pbmtoxbm, and pbmtox10bm, courtesy of
  633.       Juha Sarlin, to make them go about three times as fast.
  634.     Optimization to pgmtops and ppmtops to make them go three times as fast.
  635.     Optimization to pnmcrop.
  636.     Added PBMPLUS_BROKENPUTC defines in pbmplus.h to handle systems (such as
  637.       ULTRIX) which have broken putc() macros.
  638.     Rewrote ppmscale, pnmcat, and pgmhist to operate line-by-line, instead
  639.       of reading in the whole image.
  640.     Rewrote pnmflip to keep only one copy of the image in memory.
  641.     Added pgmtofits, courtesy of Wilson H. Bent, plus bugfixes to fitstopgm
  642.       and a patch to giftoppm to handle black&white GIF files.
  643.     Added picttopbm and rawtopgm.
  644.     Fixes to xwdtoppm and ppmtoxwd so they compile with SunOS cc as well as gcc.
  645.     Another small change to ppmtoxwd having to do with colormap size.
  646.     Changed macptopbm's -headersize flag to be -extraskip.
  647.     Changed tgatoppm to read color values as BGRA instead of ARGB; the Targa
  648.       documentation is apparently wrong about the order.
  649.     Some changes to the Makefiles, partially to work around bugs in gnumake.
  650.     Got g3topbm working, and added pbmtog3, courtesy of Paul Haeberli.
  651.     Added some pixrect work-alike code so that rasttopbm, pbmtorast, rasttoppm,
  652.       and ppmtorast can be used on non-Sun systems.  This also provides a
  653.       final solution to the persistent byte- and bit-order problems on 386's.
  654.     Moved the SYSV-checking #ifdefs to *after* the include of pbm.h, which
  655.       defines SYSV.
  656.     Made all the #else's and #endif's ANSI-compliant.
  657.     Added manual pages for libpbm, libpgm, libppm, and libpnm, courtesy
  658.       of Tony Hansen.
  659.     Changed man page installation so that pages from different sections
  660.       can go in different directories.
  661.     Fixed Imakefiles.
  662.  
  663. Changes since the expo.lcs.mit.edu FTP distribution of 06sep89:
  664.  
  665.     Added #ifdefs to pnm/libpnm3.c to allow the PBM-PNM-only configuration.
  666.     Small corrections to TIPS, pnm/Makefile, pnm/Imakefile, ppm/ppmrotate.1,
  667.       ppm/ppmshear.1, ppm/ppmtoilbm.c, pbm/xwdtopbm.c, ppm/xwdtoppm.c,
  668.       ppm/ppmtoxwd.c, ppm/ppmtoxwd.1, pbm/x11wd.h.
  669.  
  670. Changes since the comp.sources.misc distribution of 31oct88:
  671.  
  672.     Added pbmreduce, pbmlife, pbmmask, and pbmupc.
  673.     Added gemtopbm, tifftopbm, pcxtopbm, pbmtogo, mgrtopbm, pbmtomgr,
  674.       cmuwmtopbm, pbmtocmuwm, g3topbm, and pbmtobg.
  675.     Minor bugfix to pbmtolj.
  676.     Slight restructuring of most of the programs to use vastly less memory.
  677.     Various other minor optimizations.
  678.     Fixed pbmtorast and rasttopbm to handle byte-swapped big-endian 386 boxes.
  679.     Slight changes to argument syntax of pbmcrop, pbmmake, pbmreduce.
  680.     Moved to the new PGM package: pbmtops (which now produces Conforming PS).
  681.     Moved to the new PPM package: giftopbm.
  682.     Moved to the new PNM package: pbmcrop pbmcut pbmenlarge pbminvert.
  683.     Consolidated into a single pnmflip tool: pbmfliplr pbmfliptb pbmtrnspos.
  684.     Consolidated into a single pnmcat tool: pbmcatlr pbmcattb.
  685.     Added compataliases script for upward compatability with changed tools.
  686.     Removed xxxtopbm.
  687.     Added a -headersize flag to macptopbm, to help get around annoying
  688.       problems in MacPaint file format.
  689.     Added the RAWBITS compilation-time option, to use a more compact and
  690.       much faster (but less portable) external format.
  691.     Removed the CBM format - use compress(1) and / or RAWBITS instead.
  692.     Pbmpaste (and the new pnmpaste) now accepts negative x and y coords,
  693.       which are interpreted relative to the right and bottom sides.
  694.     Changed all programs to accept a "-" file argument as meaning standard
  695.       input.
  696.     Removed pbmtox10wd, since it was never very useful (X10 doesn't have xwud).
  697.     Added Imakefiles, for X11 types to use.
  698.  
  699. Changes since the X.V11R3 distribution of 31aug88:
  700.  
  701.     The cbm format has been revised to support run-length encoding.
  702.     Pbmtops now does run-length encoding.
  703.  
  704. Major changes since the X.V11R2 distribution of 28mar88:
  705.  
  706.     The pbm format now has a "magic number".
  707.     New conversion filters: brushtopbm, giftopbm, pbmtolj, pbmtomacp,
  708.       pbmtoxwd, and pbmtox10wd.
  709.     Icontopbm converter has a better parser -- it knows to skip over
  710.       any extraneous comments at the beginning of the icon file.
  711.     Pbmtops generates a different PostScript wrapper program -- it should
  712.       handle huge bitmaps better.
  713.     Xwdtopbm now handles byte-swapping correctly.
  714.     Pbmmake takes a flag to specify the color of the new bitmap.
  715.     Pbmpaste now implements 'or', 'and', and 'xor' operations as well
  716.       as the default 'replace'.
  717.